package com.evil.common.application.constant;

import com.evil.common.redis.constant.RedisConstant;

/**
 * @author liyang
 * @date 2022-08-08 00:00
 */
public interface ApplicationRedisConstant extends RedisConstant {

    /**
     * 企业应用树缓存过期时间
     */
    long ENTERPRISE_APP_TREE_EXPIRE_IN_SECOND = 24 * 60 * 60;

    /**
     * 企业应用控件缓存过期时间
     */
    long ENTERPRISE_APP_CONTROL_KEY_EXPIRE_IN_SECOND = 24 * 60 * 60;

    /**
     * 机器人操作日志缓存时长
     */
    long ROBOT_KEY_EXPIRE_IN_SECOND = 5 * 60;

    // region 应用包
    /**
     * 会话资源-应用包
     */
    String REQUEST_UUID_PACKAGE_PREFIX = "package:";
    // endregion

    // region 应用组
    /**
     * 会话资源-应用组
     */
    String REQUEST_UUID_GROUP_PREFIX = "group:";
    // endregion

    // region 应用
    /**
     * 会话资源-应用-ID版
     */
    String REQUEST_UUID_APP_ID_PREFIX = "app_id:";

    /**
     * 会话资源-应用-KEY版
     */
    String REQUEST_UUID_APP_KEY_PREFIX = "app_key:";

    /**
     * 应用
     */
    String APPLICATION_PREFIX = CODE_NAME_PREFIX + "application:";

    /**
     * 应用
     */
    String APPLICATION_KEY_PREFIX = CODE_NAME_PREFIX + "application_key:";
    // endregion

    // region 表单
    /**
     * 会话资源-表单
     */
    String REQUEST_UUID_FORM_PREFIX = CODE_NAME_PREFIX + "form:";

    /**
     * 应用表单
     */
    String FORM_PREFIX = CODE_NAME_PREFIX + "form:";

    /**
     * 应用表单
     */
    String APPLICATION_FORM_PREFIX = "form:";
    // endregion

    // region 控件
    /**
     * 会话资源-表单控件
     */
    String REQUEST_UUID_CONTROL_PREFIX = "control:";

    /**
     * 企业应用表单控件树
     */
    String ENTERPRISE_APP_TREE_PREFIX = CODE_NAME_PREFIX + "enterprise_app_tree:";

    /**
     * 企业应用表单控件列表
     */
    String ENTERPRISE_APP_CONTROL_PREFIX = CODE_NAME_PREFIX + "enterprise_app_control:";

    /**
     * 表单控件列表
     */
    String FORM_CONTROLS_PREFIX = CODE_NAME_PREFIX + "form_controls:";

    /**
     * 控件
     */
    String CONTROLS_PREFIX = "controls:";
    // endregion

    // region 选项
    /**
     * 会话资源-控件选项
     */
    String REQUEST_UUID_OPTION_PREFIX = "option:";

    /**
     * 控件选项
     */
    String CONTROL_OPTION_PREFIX = CODE_NAME_PREFIX + "control_option:";

    /**
     * 选项
     */
    String OPTION_PREFIX = CODE_NAME_PREFIX + "option:";
    // endregion

    // region 流程
    /**
     * 会话资源-流程
     */
    String REQUEST_UUID_PROCESS_PREFIX = "process:";
    // endregion

    // region 流程
    /**
     * 会话资源-订单数据
     */
    String REQUEST_UUID_ORDER_DATA_PREFIX = "order_data:";

    /**
     * 会话资源-订单数据列表
     */
    String REQUEST_UUID_ORDER_DATA_LIST_PREFIX = "order_data_list:";
    // endregion

    // region 订单
    /**
     * 会话资源-机器人新增的订单
     */
    String ROBOT_ADD_ORDER_PREFIX = "robot_add_order:";

    /**
     * 会话资源-机器人编辑的订单
     */
    String ROBOT_MODIFY_ORDER_PREFIX = "robot_modify_order:";
    // endregion

    // region 机器人
    /**
     * 机器人队列
     */
    String ROBOT_MQ_PREFIX = "robot_mq:";

    /**
     * 机器人日志id （最新的那个。备注：该日志属于应用功能，非程序日志）
     */
    String ROBOT_LOG_ID_PREFIX = "robot_log_id:";

    /**
     * 机器人日志列表
     */
    String ROBOT_LOG_IDS_PREFIX = "robot_log_ids:";
    // endregion

    // region 导入模板
    /**
     * 导入模板文件-xml节点
     */
    String IMPORT_TEMPLATE_FILE_XML_NODE_KEY = CODE_NAME_PREFIX + "import_template_file_xml_node:";
    // endregion
}
